const SFTPClient = require('ssh2-sftp-client');
const path = require('path');

// 服务器连接信息
const serverConfig = {
  host: '119.45.240.39',
  port: 22,
  username: 'root',
  password: 'Zt04985807',
};

// 本地文件路径和远端目标路径
const localPath = path.join(__dirname, 'dist'); // 你的本地文件路径
const remotePath = '/www/dist'; // 服务器上的远端路径

// 创建 SFTP 客户端实例
const sftp = new SFTPClient();

// 连接到 SFTP 服务器
sftp
  .connect(serverConfig)
  .then(() => {
    console.log('Connected to SFTP server.');
    // 上传文件
    return sftp.uploadDir(localPath, remotePath, {
      validate: true, // 校验远程目录是否存在
      concurrency: 5, // 并发上传数量
    });
  })
  .then(() => {
    console.log('Upload completed.');
    // 关闭 SFTP 连接
    return sftp.end();
  })
  .catch((error) => {
    console.error('Upload error:', error);
    // 关闭 SFTP 连接
    sftp.end();
  });

